package org.aplikator.server.descriptor;

import org.aplikator.client.shared.descriptor.WidgetDTO;
import org.aplikator.server.Context;

public interface Widget extends Cloneable {

    WidgetDTO getWidgetDescriptor(Context ctx);

    void registerProperties(Form form);

    int getSize();

    Widget setSize(int size);

    Widget setFormatPattern(String formatPattern);

    String getFormatPattern();

    boolean isEnabled();

    Widget setEnabled(boolean enabled);

    Widget cloneWithReference(Reference<? extends Entity> referencingProperty);

}
